package actions.visitors;

import java.util.ArrayList;
import java.util.List;

import veilingDomein.Categorie;
import veilingService.ServiceProvider;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class Zoeken extends ActionSupport {
	
	private List<Categorie> categorien = new ArrayList<Categorie>();
	private String zoekwoord = "leeg";
	private boolean zoekop; // true bij alleen titel, false bij titel en beschrijving
	private String categorienaam;
	private int minbedrag = 0;
	private int maxbedrag = 1000000000;
	private ArrayList<VeilingLijstItem> veilingen;
	
	public String execute() {
		categorien = ServiceProvider.getBiedingService().haalCategorienOp();
		//
		// Deze klasse moet nog even gefixt worden om goed met de aangepaste zoekmethoden te werken.
		if(zoekop) {
			veilingen = ServiceProvider.getVeilingService().zoekVeilingen(zoekwoord, categorienaam, minbedrag, maxbedrag, 1, 1000, "none");
		} else if(!zoekop){
			veilingen = ServiceProvider.getVeilingService().zoekVeilingenTitelEnBeschrijving(zoekwoord, categorienaam, minbedrag, maxbedrag, 1, 1000, "none");
		}
		if(veilingen.size() == 0 ) {
			addActionMessage("Geen resultaten gevonden");
			return ActionSupport.INPUT;
		}
		return ActionSupport.SUCCESS;
	}

	public ArrayList<VeilingLijstItem> getVeilingen(){
		return veilingen;
	}

	public List<Categorie> getCategorien() {
		return categorien;
	}
	
	public void setZoekwoord(String zoekwoord) {
		this.zoekwoord = zoekwoord;
	}
	public void setCategorienaam(String categorienaam) {
		this.categorienaam = categorienaam;
	}
	public void setMinbedrag(int minbedrag) {
		this.minbedrag = minbedrag;
	}
	public void setMaxbedrag(int maxbedrag) {
		this.maxbedrag = maxbedrag;
	}
	public void setZoekop(boolean zoekop) {
		this.zoekop = zoekop;
	}
}
